/**
 * 时间格式化 例：8月1日 12:00 - 13:00
 * @param {number} startTime 开始时间毫秒数
 * @param {number} endTime 结束时间毫秒数
 */
export const timeFormat = (startTime: number, endTime: number) => {
  const start = new Date(startTime);
  const end = new Date(endTime);
  const date = new Date(startTime).getMonth() + 1 + "月" + new Date(startTime).getDate() + "日";
  return `${date} ${start.getHours()}:${start.getMinutes()} - ${end.getHours()}:${end.getMinutes()}`;
};

/** 构造url参数 */
export const buildParams = (params: Record<string, string>) =>
  Object.entries(params)
    .filter(([_, val]) => val)
    .map(([key, val]) => `${key}=${val}`)
    .join("&");

/** 获取oss链接 */
export const getOSSURL = (path?: string) => {
  if (!path) return "";
  if (path.startsWith("http")) return path;
  return new URL(path, import.meta.env.VITE_OSS_BASE_URL).href;
};

/**
 * 休眠一段时间
 * @param time 休眠时间（毫秒）
 * @returns promise
 */
export const sleep = (time: number) => new Promise((resolve) => setTimeout(resolve, time));
